<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:vehiculousado="http://www.sat.gob.mx/vehiculousado" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sat.gob.mx/vehiculousado" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="VehiculoUsado">
		<xs:annotation>
			<xs:documentation>Complemento opcional que permite incorporar información a los contribuyentes que enajenen vehículos nuevos a personas físicas que no tributen en los términos de las Secciones I y II del Capítulo II del Título IV de la ley del ISR, y que reciban en contraprestación como resultados de esa enajenación un vehículo usado y dinero</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="InformacionAduanera" type="vehiculousado:t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas.</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="Version" use="required" fixed="1.0">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar la versión del complemento</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="montoAdquisicion" type="vehiculousado:t_Importe" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el monto de adquisición del vehículo usado según factura original, primera venta</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="montoEnajenacion" type="vehiculousado:t_Importe" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el monto de enajenación del vehículo usado</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="claveVehicular" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar la clave vehicular del vehículo usado</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:minLength value="1"/>
						<xs:maxLength value="7"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="marca" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar la marca  del vehículo usado</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:minLength value="1"/>
						<xs:maxLength value="50"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="tipo" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el tipo del vehículo usado</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:minLength value="1"/>
						<xs:maxLength value="50"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="modelo" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el año modelo del vehículo usado</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:pattern value="[0-9]{4}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="numeroMotor" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional para expresar el número de motor del vehículo usado (en caso de contar con dicho número se deberá ingresar)</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:minLength value="1"/>
						<xs:maxLength value="17"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="numeroSerie" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional para expresar el número de serie de la carrocería del vehículo usado (en caso de contar con dicho número se deberá ingresar)</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:minLength value="1"/>
						<xs:maxLength value="17"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="NIV" use="optional">
				<xs:annotation>
					<xs:documentation>Atributo opcional para expresar el número de identificación vehicular del vehículo usado (Cuando exista el NIV deberá incluirse este invariablemente)</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:whiteSpace value="collapse"/>
						<xs:minLength value="1"/>
						<xs:maxLength value="17"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="valor" type="vehiculousado:t_Importe" use="required">
				<xs:annotation>
					<xs:documentation>Atributo requerido para expresar el valor del vehículo, establecido en la Guía EBC o Libro Azul (Guía de Información a Comerciantes de Automóviles y Camiones y Aseguradores de la República Mexicana) vigente, emitida por la Asociación Nacional de Comerciantes en Automóviles y Camiones  nuevos y usados A.C.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="t_InformacionAduanera">
		<xs:annotation>
			<xs:documentation>Tipo definido para expresar información aduanera</xs:documentation>
		</xs:annotation>
		<xs:attribute name="numero" use="required">
			<xs:annotation>
				<xs:documentation>Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="1"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="fecha" use="required">
			<xs:annotation>
				<xs:documentation>Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:date">
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="aduana">
			<xs:annotation>
				<xs:documentation>Atributo opcional para precisar la aduana por la que se efectuó la importación del bien.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="1"/>
					<xs:whiteSpace value="collapse"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="t_Importe">
		<xs:annotation>
			<xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta seis decimales</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="6"/>
			<xs:whiteSpace value="collapse"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
